layui.use(['table','layer'],function(){
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;

    // 订单列表展示
    var  tableIns = table.render({
        elem: '#customerOrderList',
        url : ctx+"/order/list?cusId="+$("input[name='id']").val(),
        cellMinWidth : 95,
        page : true,
        height : "full-125",
        limits : [10,15,20,25],
        limit : 10,
        toolbar: "#toolbarDemo",
        id : "customerOrderListTable",
        cols : [[
            {type: "checkbox", fixed:"center"},
            {field: "id", title:'编号',fixed:"true"},
            {field: 'orderNo', title: '订单编号',align:"center"},
            {field: 'orderDate', title: '下单日期',align:"center"},
            {field: 'address', title: '收货地址',align:"center"},
            {field: 'state', title: '支付状态',align:"center",templet:function (d) {
                    if(d.state==1){
                        return "已支付"
                    }else{
                        return "未支付";
                    }
                }},
            {field: 'createDate', title: '创建时间',align:"center"},
            {field: 'updateDate', title: '更新时间',align:"center"},
            {title: '操作',fixed:"right",align:"center", minWidth:200,templet:"#customerOrderListBar"}
        ]]
    });

    /**
     * 监听头部工具栏事件
     *  格式：
     *      table.on('toolbar(数据表格的lay-filter属性值)', function (data) {
     *
            })
     */
    table.on('toolbar(customerOrders)', function (data) {
        // data.event：对应的元素上设置的lay-event属性值
        // console.log(data);
        // 判断对应的事件类型
        if (data.event == "add") {
            // 添加操作
            openAddOrUpdateCustomerOrderDialog();

        } else if (data.event == "pay") {
            // 获取被选中的数据的相关信息
            var checkStatus = table.checkStatus(data.config.id);
            console.log(checkStatus)
            // 支付成功操作
            pay(checkStatus.data);
        }
    })

    /**
     * 监听行工具栏
     */
    table.on('tool(customerOrders)',function (data) {
        if (data.event == "info") { // 订单详情
            var title = "<h3>客户管理 - 管理订单详情</h3>";
            var url = ctx + "/order/toOrderDetailPage?orderId=" + data.data.id;

            // iframe层
            layui.layer.open({
                // 类型
                type: 2,
                // 标题
                title: title,
                // 宽高
                area: ['700px', '500px'],
                // url地址
                content: url,
                // 可以最大化与最小化
                maxmin:true
            });
        }else if (data.event == "edit") {
            // 得到订单信息的ID
            // var cId = data.data.id;
            // 打开修改订单信息数据的窗口
            openAddOrUpdateCustomerOrderDialog(data.data.id)
        }else if (data.event == "del") { // 删除订单信息
            // 删除订单信息
            deleteCustomerOrder(data.data.id);

        }
    });

    /**
     * 打开添加/修改订单信息的窗口
     *      如果订单信息ID为空，则为添加操作
     *      如果订单信息ID不为空，则为修改操作
     */
    function openAddOrUpdateCustomerOrderDialog(id) {
        // 弹出层的标题
        var title = "<h3>订单管理 - 添加订单信息</h3>";
        var url = ctx + "/order/toAddOrUpdateCustomerOrderPage?cId="+$("input[name='id']").val();

        // 判断订单信息ID是否为空
        if (id != null && id != '') {
            // 更新操作
            title  = "<h3>订单管理 - 更新订单信息</h3>";
            // 请求地址传递营销机会的ID
            url += '&id=' + id;
        }

        // iframe层
        layui.layer.open({
            // 类型
            type: 2,
            // 标题
            title: title,
            // 宽高
            area: ['500px', '320px'],
            // url地址
            content: url,
            // 可以最大化与最小化
            maxmin:true
        });
    }

    /**
     * 删除计划项
     */
    function  deleteCustomerOrder(id) {
        // 弹出确认框，询问用户是否确认删除
        layer.confirm('您确认要删除该记录吗？',{icon:3, title:'订单信息管理'}, function (index) {
            // 发送ajax请求，执行删除操作
            $.post(ctx + '/order/delete',{id:id}, function (result) {
                // 判断删除结果
                if (result.code == 200) {
                    // 提示成功
                    layer.msg('删除成功',{icon:6});
                    // 刷新数据表格
                    tableIns.reload();
                } else {
                    // 提示失败原因
                    layer.msg(result.msg,{icon:5});
                }
            });
        });
    }



    /**
     * 支付成功（更改一条state为1）
     * @param id
     */
    function pay(data) {
        // console.log(data.length)
        // 判断用户是否选择客户
        if (data.length == 0) {
            layer.msg("请选择想要支付的订单！",{icon:5});
            return;
        }
        // 判断用户是否多选
        if (data.length > 1) {
            layer.msg("暂不支持批量支付！",{icon:5});
            return;
        }
        // console.log(data[0].state);
        //支付状态：state==1为已支付
        if (data[0].state==1) {
            layer.msg("已支付！",{icon:6});
            return;
        }

        //支付
        // 弹出确认框，询问用户是否确认支付
        layer.confirm('您确认要支付该订单吗？',{icon:3, title:'订单支付管理'}, function (index) {
            // 发送ajax请求，执行支付操作
            $.post(ctx + '/order/pay',{id:data[0].id}, function (result) {
                // 判断支付结果
                if (result.code == 200) {
                    // 提示成功
                    layer.msg('支付成功',{icon:6});
                    // 刷新数据表格
                    tableIns.reload();
                } else {
                    // 提示失败原因
                    layer.msg(result.msg,{icon:5});
                }
            });
        });

    }

});
